package com.ruoyi.security.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.system.api.domain.SysFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 设备信息对象 omp_af_device_info
 *
 * @author zmc
 * @date 2021-12-18
 */
@Data
@ApiModel
public class AfDeviceInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** Id */
    @ApiModelProperty(value = "Id")
    private String id;

    /** 设备编号 */
    @Excel(name = "设备编号")
    @ApiModelProperty(value = "设备编号")
    private String deviceNum;

    /** 设备名称 */
    @Excel(name = "设备名称")
    @ApiModelProperty(value = "设备名称")
    private String deviceName;

    /** 设备类型 */
    @Excel(name = "设备类型")
    @ApiModelProperty(value = "设备类型")
    private String deviceType;

    /** 型号规格 */
    @Excel(name = "型号规格")
    @ApiModelProperty(value = "型号规格")
    private String specifications;

    /** 设备种类(监控,消防...) */
    @Excel(name = "设备种类(监控,消防...)")
    @ApiModelProperty(value = "设备种类(监控,消防...)")
    private String deviceCategory;

    /** 工作状态 */
    @Excel(name = "工作状态")
    @ApiModelProperty(value = "工作状态")
    private String workState;

    /** 园区Id */
    @Excel(name = "园区Id")
    @ApiModelProperty(value = "园区Id")
    private String parkId;

    /** 楼栋Id */
    @Excel(name = "楼栋Id")
    @ApiModelProperty(value = "楼栋Id")
    private String buildingId;

    /** 安装位置 */
    @Excel(name = "安装位置")
    @ApiModelProperty(value = "安装位置")
    private String installPosition;

    /** 厂家 */
    @Excel(name = "厂家")
    @ApiModelProperty(value = "厂家")
    private String supplier;

    /** 使用日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "使用日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "使用日期")
    private Date useDate;

    /** 上次年检日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上次年检日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "上次年检日期")
    private Date lastCheckDate;

    /** 下次年检日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下次年检日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "下次年检日期")
    private Date nextCheckDate;

    /** 责任人 */
    @Excel(name = "责任人")
    @ApiModelProperty(value = "责任人")
    private String liableUser;

    /** 模块id */
    @Excel(name = "模块id")
    @ApiModelProperty(value = "模块id")
    private String moduleType;

    /** 购买日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购买日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "购买日期")
    private Date purchaseDate;

    /** 使用期限 */
    @Excel(name = "使用期限")
    @ApiModelProperty(value = "使用期限")
    private String serviceLife;

    /** 报废日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报废日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "报废日期")
    private Date scrapDate;

    /** 使用状态 */
    @Excel(name = "使用状态")
    @ApiModelProperty(value = "使用状态")
    private String useState;

    /** 管理地址 */
    @Excel(name = "管理地址")
    @ApiModelProperty(value = "管理地址")
    private String manageAddress;

    /** 删除标志(0正常 1删除) */
    @ApiModelProperty(value = "删除标志(0正常 1删除)")
    private String delFlag;

    /** 租户Id */
    @Excel(name = "租户Id")
    @ApiModelProperty(value = "租户Id")
    private String tenantId;

    //以下属性为页面视图属性
    /** 园区编号 */
    @Excel(name = "园区编号")
    @ApiModelProperty(value = "园区编号")
    private String parkNum;

    /** 楼栋编号 */
    @Excel(name = "楼栋编号")
    @ApiModelProperty(value = "楼栋编号")
    private String buildingNum;

    /** 附件份数 */
    @Excel(name = "附件份数")
    @ApiModelProperty(value = "附件份数")
    private Integer fileAmount;

    /** 附件id集合 */
    @Excel(name = "附件id集合")
    @ApiModelProperty(value = "附件id集合")
    private List<Long> fileIdList;

    /** 附件集合 */
    @Excel(name = "附件集合")
    @ApiModelProperty(value = "附件集合")
    private List<SysFile> fileList;

    /** 购买日期下限*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购买日期下限", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "购买日期下限")
    private Date purchaseBeginDate;

    /** 购买日期上限*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购买日期上限", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "购买日期上限")
    private Date purchaseEndDate;

    /** 报废日期下限*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报废日期下限", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "报废日期下限")
    private Date scrapBeginDate;

    /** 报废日期上限*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报废日期上限", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "报废日期上限")
    private Date scrapEndDate;
}
